Controllers for vehicle systems, such as engine controllers, anti-lock brake systems, enhanced stability systems, etc. have been employed for several years. Such controllers generally comprise a microprocessor which executes a control program stored in a ROM memory.
In addition to the microprocessor and memories, such controllers include I/O ports through which they can receive signals from switches and sensors of the vehicle and through which they can output derived control signals to alter and control the operation of the vehicle system.
Typically, at least some of the sensors providing inputs to the controller are analog and thus the controller will include one or more A/D converters. Similarly, commonly one or more of the output control signals must be analog, so the controller will often also include at least one D/A converter.
Examples of sensor inputs to such controllers can include: engine temperature; crankshaft position; mass air flow rates; engine operating speed; oxygen content in the exhaust gas; wheel speed; steering wheel position; brake pedal travel and/or speed; brake system pressure; etc. Examples of operating outputs from such controllers can include: ignition timing advance or retard; fuel injection timing; fuel mixture; activation of a wheel brake, etc.
Recently, to improve engine efficiency and/or reduce emissions, variable valve timing systems have been employed with internal combustion engines. To operate such systems, the engine controller must be able to determine the relative angular positions (phase) of the crankshaft and camshaft(s) of the engine. To date, such determinations have typically been made from inductive pickups counting teeth on toothed gears mounted on the crankshaft and/or camshaft. While such systems do work, they are not very accurate and require complex operations to calibrate and generally do not provide high resolution results.
Further, such systems cannot provide an angular position signal to the engine controller when the engine is static, i.e. not rotating. Modern engine control strategies can benefit from a knowledge of the angular position of the crankshaft and camshaft(s) at start up to reduce emissions and reduce torsional forces on engine components.
While more accurate sensors can be employed with such systems, generally such sensors require additional sensor leads and/or controllers with more computational capacity and result in higher cost systems.
It is desired to have a system and method for controlling an engine or other vehicle system which can determine the position of one rotating component and/or the phase between two rotating components of the engine or other system with reasonably high resolution and at a reasonable cost.